// Copyright 2018 Grass Valley, A Belden Brand

// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at

//     http://www.apache.org/licenses/LICENSE-2.0

// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#pragma once
/*
**  
*/

#include "QKernelExec.h"
#include "..\..\KernelExec\cClientServer.h"

using namespace vfs;




// =======================================================================================
// === cKernelBootCommsThread ============================================================
// =======================================================================================

class cKernelBootCommsThread : public cThread
{
  public :

    QDEFINE_SMARTPTR(cKernelBootCommsThread);

    cKernelBootCommsThread();
    
  private :

    bool m_IsRunning;
    cClient m_Client;

    void QAPI signalLoopStop();
    void QAPI runLoop();

    void QAPI cleanupEmergency();
    void QAPI cleanupStandard();
};
